package com.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 基于班级id删除班级信息
 */
public class JdbcDemo03 {
    static void deleteById(String id)throws Exception{
        //第一步: 加载驱动程序("com.mysql.cj.jdbc.Driver") (现在可以省略这个步骤了)
        //Class.forName("com.mysql.cj.jdbc.Driver");
        //第二步: 通过驱动建立连接(比较耗时-TCP/IP)
        String url="jdbc:mysql://localhost:3306/tedu?" +
                "serverTimezone=Asia/Shanghai&CharacterEncoding=utf8";
        Connection conn=
                DriverManager.getConnection(url,"root","root");
        System.out.println("连接建立OK");
        //第三步: 基于连接对象创建Statement对象
        Statement stmt=conn.createStatement();
        //第四步: 基于Statement对象发送SQL(发送到数据库端)
        String sql="delete from class where id="+id;
        int rows=stmt.executeUpdate(sql);//返回值为更新行数
        //第五步: 处理结果
        System.out.println("删除的行数="+rows);
        //第六步: 释放资源(先创建后关闭)
        stmt.close();
        conn.close();
    }
    public static void main(String[] args) throws Exception{
        //String id="4";
        String id="4 or 1=1";//id值该如何写,能够将class表中的数据全部删除(可以查SQL注入这个概念)
        deleteById(id);
        //通过字符串拼接方式修改sql语义,进而破坏数据库中的数据,我们把这种现象称之为SQL注入.
    }
}
